﻿.clear{clear:both;}

/***** Start of primary nav ******/
#menu-button{display: none;}
nav.mobile {display:none;}

nav.primary { 
	position: relative; width: 100%; padding: 0; margin: 0; margin-right: 14px; 
	display: flex; justify-content: flex-end; align-items: stretch; 
}
nav.primary ul { 
	position: relative; width: 100%; padding: 0; margin: 0; 
	display: flex; justify-content: flex-end; align-items: stretch; 
}
nav.primary ul li { 
	position: relative; z-index: 3; padding: 0; margin: 0; list-style-type: none;
	display: flex; align-items: stretch; 
}
nav.primary ul li a {
	color: #000;
	font-size: 17px;
	font-weight: 500;
	text-align: center;
	padding: 0 28px; 
	position: relative; z-index: 3; width: 100%; 
	display: flex; justify-content: center; align-items: center; 
	text-decoration:none; text-transform: uppercase;
	-webkit-transition: .2s ease-in; 
	-moz-transition: .2s ease-in; 
	-o-transition: .2s ease-in; 
	transition: .2s ease-in;
	cursor: pointer; margin: 0;  
}	
nav.primary > ul > li > a:before { position: absolute; z-index: -1; content: ""; transform: translateX(-50%) translateY(-50%); top: 50%; left: 50%; width: calc(100% - 16px); height: 50px; background: rgba(245, 180, 40, 0); -webkit-transition: .2s ease-in; 
	-moz-transition: .2s ease-in; 
	-o-transition: .2s ease-in; 
	transition: .2s ease-in;}
nav.primary > ul > li > a:hover:before { background: rgba(245, 180, 40, 1); }

/* Appearance of the sub-level links */
nav.primary ul li li a { 
	justify-content: flex-end; 
	text-align: right; 
	font-size: 16px;
	padding: 12px;
	color: #fff;
	background: #181818;
	border-bottom: #303030 solid 1px;
	border-right: none; border-left: none;
}
nav.primary ul li li:last-child a { border-bottom: none; }

/* Appearance of the sub-level links on hover */
nav.primary ul li li a:hover { background: #000; color: #f5b428; }

/* This controls the Primary nav dropdowns for sublinks. Should not have to edit this too muuch */
nav.primary ul ul { display: none; width: unset; position: absolute; top: calc(100% - 8px); right: 0; }
nav.primary ul ul ul { position: absolute; left: 100%; top: 0; }
nav.primary ul li:hover > ul { display: block; line-height: 18px; z-index: 100; }
nav.primary ul ul li { width: 220px; position: relative; display: block; float: none; margin: 0; }

@media only screen and (max-width: 1420px) {
	nav.primary { margin-right: 6px; }
	nav.primary ul li a { padding: 0 22px; }
}

@media only screen and (max-width: 1150px) {
	nav.primary { margin-right: 2px; }
	nav.primary ul li a { padding: /*0 17px*/ 0 16px; }
	nav.primary > ul > li > a:before { width: 100%; }
}

/******** End of primary Nav ***************/

@media screen and (min-width: 1021px) {
	.menu-toggle.exit-click { display: none !important; }
}

@media screen and (max-width: 1020px) {
	.mobile + .menu-toggle.exit-click{
		position: fixed !important; z-index: 499; pointer-events: none; opacity: 0; 
		top: 0 !important;left: 0 !important;right: 0 !important;bottom: 0 !important; 
		background: rgba(36,32,33,0.33); transition: ease opacity 0.3s; 
	}
	.mobile.open + .menu-toggle.exit-click{
		pointer-events: auto; opacity: 1;
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
	}
/*==============================
	Mobile Nav Styles			
================================*/	
	nav.primary{display:none;} 
	
	#menu-button { 
		position: relative; display: flex; justify-content: flex-end; align-items: stretch; 
		z-index: 400; /* needs to be lower than nav.mobile, adjust as needed */
	}
	#menu-button a {
		color: #000;
		font-size: 20px; padding: 0 24px;
		position: relative; display: flex; justify-content: center; align-items: center; column-gap: 12px; 
		cursor: pointer; text-decoration: none; transition: .25s ease all; 
	}
	#menu-button a span { font-size: 16px; }
	
	#menu-button a:before { position: absolute; z-index: -1; content: ""; transform: translateX(-50%) translateY(-50%); top: 50%; left: 50%; width: 100%; height: 50px; background: rgba(245, 180, 40, 0); -webkit-transition: .2s ease-in; 
	-moz-transition: .2s ease-in; 
	-o-transition: .2s ease-in; 
	transition: .2s ease-in;}
	#menu-button a:hover:before { background: rgba(245, 180, 40, 1); }
	
	#menu-button a:hover { color: #000; }
	#menu-button a:hover span {}
	
	
	nav.mobile {
		position: fixed; z-index: 500; /* needs to be higher than #menu-button, adjust as needed */
		top: 0; right: -360px; display: block; overflow: auto; height: 100%; 
		width: min(100%, 340px); 
		background: #000;
	}
	/* MENU HEADER STYLES */
	nav.mobile .mobile_top {
		position: relative; padding: 8px 72px 8px 0; display: flex; justify-content: flex-start; align-items: flex-start;
	}
	.mobile-header-logo { padding: 10px 16px; background: #fff; display: flex; }
	.mobile-header-logo, .mobile-header-logo img { width: min(160px, 100%); }
	.mobile-header-logo img { height: auto; object-fit: contain; object-position: center; }

	/* MENU CLOSE 'X' BUTTON */
	nav.mobile .menu-toggle:not(.exit-click) {
		position: absolute; display: flex; justify-content: center; align-items: center; 
		font-family: Arial, sans-serif; text-decoration: none; cursor: pointer; 
		width: 50px; height: 50px; top: 8px; right: 8px; 
		font-size: 32px; font-weight: bold; 
		background: #222; color: #fff;
		transition: .25s ease all; 
	}
	nav.mobile .menu-toggle:not(.exit-click):hover { /* Menu close button on hover */
		background: #f5b428; color: #000;
	}

	/* MENU LIST STYLE */
	nav.mobile ul {list-style:none;padding:0;margin:0;}
	nav.mobile ul li {
		position:relative;
		/*border-top: 1px solid #454545;*/
		border-bottom: 1px solid #222;
	}
	nav.mobile ul li li {border-bottom: 1px solid #000;}
	nav.mobile > ul > li:first-child { border-top: none; }
	nav.mobile ul ul li:last-child {border-bottom:none;}

	/* FIRST LEVEL */
	nav.mobile ul li a {
		position: relative; padding: 12px;
		display: flex; justify-content: flex-start; align-items: center; min-height: 50px; column-gap: 12px; 
		font-size: 17px;
		color: #fff;
		/*border-left: 4px #333 solid;*/
		text-align: left; text-decoration: none; cursor: pointer; transition: .25s ease all; 
	}
	nav.mobile ul li a:hover {
		color: #000; background: #f5b428; 
		/*border-left: 4px #f5b428 solid;*/ /* border highlight - Change to fit match site colors */
	}
	
	nav.mobile ul li a.listed, nav.mobile ul li a.listed span { color: #fff; }
	nav.mobile ul li a.listed span.txt-yellow { color: #f5b428; }
	nav.mobile ul li a i { color: #f5b428; transition: .25s ease all; }
	nav.mobile ul li a:hover i { color: #000; }

	/* SECOND LEVEL */
	nav.mobile ul li li a {
		background: #222;
		/*border-left: 4px #444 solid;*/
		position: relative;
		display: flex; justify-content: flex-start; align-items: center; min-height: 50px; column-gap: 12px; 
		padding: 12px 12px 12px 15px;
		color: #fff;
		text-decoration: none;
	}
	nav.mobile ul li li a:hover { background: #000; color: #fff; }

	/* THIRD LEVEL */
	nav.mobile ul li li li a {
		position: relative; text-decoration: none;
		color: #fff;
		background: #333;
		/*border-left: 4px #555 solid;*/
		display: flex; justify-content: flex-start; align-items: center; min-height: 50px; column-gap: 12px; 
		padding: 12px 12px 12px 25px;
	}
	nav.mobile ul li li li a:hover { background: #000; color: #fff; }

	nav.mobile ul li .click.open i:before { content: "\f068"; }

	.nav-footer {
		position:relative; text-align:center; 
		color:#bbb; 
		font-size:15px; 
		padding:24px 12px;
	}
}

@media only screen and (max-width: 650px) {
	/*#menu-button a { padding: 0 5vw; }*/
	/*#menu-button a span { display: none!important; }*/
}